gtk4.git
9 years agogsk: Implement textures for the Cairo renderer
Benjamin Otte [Mon, 7 Nov 2016 17:23:38 +0000 (18:23 +0100)]
gsk: Implement textures for the Cairo renderer

9 years agogsk: Add GskTexture
Benjamin Otte [Mon, 7 Nov 2016 16:59:38 +0000 (17:59 +0100)]
gsk: Add GskTexture

9 years agoUpdated Czech translation
Marek Cernocky [Tue, 8 Nov 2016 11:38:32 +0000 (12:38 +0100)]
Updated Czech translation

9 years agoUpdate POTFILES.skip
Piotr Drąg [Tue, 8 Nov 2016 09:08:14 +0000 (10:08 +0100)]
Update POTFILES.skip

9 years agorange: Don't leak pointers to discarded gadgets
Benjamin Otte [Tue, 8 Nov 2016 01:24:40 +0000 (02:24 +0100)]
range: Don't leak pointers to discarded gadgets

9 years agoreftests: Add reftest for the last 2 fixes
Benjamin Otte [Tue, 8 Nov 2016 01:23:30 +0000 (02:23 +0100)]
reftests: Add reftest for the last 2 fixes

Makes sure that the clipping we do when pushing a group is at the
correct place and in particular doesn't influence shadows.

9 years agorender: Draw shadows outside of potential push_group() call
Benjamin Otte [Tue, 8 Nov 2016 01:20:40 +0000 (02:20 +0100)]
render: Draw shadows outside of potential push_group() call

Before, the shadows were clipped.

9 years agorender: Clip the correct rectangle
Benjamin Otte [Tue, 8 Nov 2016 01:15:43 +0000 (02:15 +0100)]
render: Clip the correct rectangle

We translated before.

9 years agoAdwaita: tweak radial-gradient()'s
Lapo Calamandrei [Mon, 7 Nov 2016 21:34:02 +0000 (22:34 +0100)]
Adwaita: tweak radial-gradient()'s

radial-gradient()'s are behaving, hence simplify the css.

9 years agoUpdate the migration guide
Matthias Clasen [Mon, 7 Nov 2016 19:59:23 +0000 (14:59 -0500)]
Update the migration guide

Mention the demise of -gtk-gradient, and explain that CSS syntax
works fine for this now.

9 years agocss: Improve spec compliance of the radial gradient parser
Matthias Clasen [Mon, 7 Nov 2016 20:40:21 +0000 (15:40 -0500)]
css: Improve spec compliance of the radial gradient parser

The spec says:
"If <shape> is omitted, the ending shape defaults to a circle if the <size>
is a single <length>, and to an ellipse otherwise."

Make it so.

9 years agoRevert "Update the CSS docs for the demise of define-color"
Matthias Clasen [Mon, 7 Nov 2016 20:05:37 +0000 (15:05 -0500)]
Revert "Update the CSS docs for the demise of define-color"

This reverts commit 12d9451b1cb1e38e7431c552925d55e2d5fc3482.

9 years agoRevert "Update the migration guide"
Matthias Clasen [Mon, 7 Nov 2016 20:05:28 +0000 (15:05 -0500)]
Revert "Update the migration guide"

This reverts commit b86816438147ffe61959218524f59c44581ee006.

9 years agoUpdate the migration guide
Matthias Clasen [Mon, 7 Nov 2016 19:59:23 +0000 (14:59 -0500)]
Update the migration guide

Mention some removed CSS extensions.

9 years agoUpdate the CSS docs for the demise of define-color
Matthias Clasen [Mon, 7 Nov 2016 19:49:46 +0000 (14:49 -0500)]
Update the CSS docs for the demise of define-color

9 years agoDrop support for symbolic colors
Matthias Clasen [Mon, 7 Nov 2016 19:43:49 +0000 (14:43 -0500)]
Drop support for symbolic colors

-gtk-gradient was the last internal user of this code, so
we can drop it now.

9 years agoUpdate CSS docs to reflect the demise of -gtk-gradient
Matthias Clasen [Mon, 7 Nov 2016 18:47:07 +0000 (13:47 -0500)]
Update CSS docs to reflect the demise of -gtk-gradient

9 years agoDrop support for -gtk-gradient
Matthias Clasen [Mon, 7 Nov 2016 18:44:57 +0000 (13:44 -0500)]
Drop support for -gtk-gradient

The standard CSS radial-gradient can be used instead, and Adwaita
and HighContrast have been ported over.

9 years agocss: Avoid a crash while parsing radial gradients
Matthias Clasen [Mon, 7 Nov 2016 19:44:29 +0000 (14:44 -0500)]
css: Avoid a crash while parsing radial gradients

has_size does not imply that sizes[0] is != NULL.

9 years agoHC: use radial-gradient() in place of -gtk-gradient().
Lapo Calamandrei [Mon, 7 Nov 2016 17:22:28 +0000 (18:22 +0100)]
HC: use radial-gradient() in place of -gtk-gradient().

9 years agoAdwaita: no more -gtk-gradient(), really
Lapo Calamandrei [Mon, 7 Nov 2016 16:12:21 +0000 (17:12 +0100)]
Adwaita: no more -gtk-gradient(), really

the undershoot is drawn with a radial-gradient now.

9 years agogdkprivate-win32.h: Complete removal of attributes_mask
Chun-wei Fan [Mon, 7 Nov 2016 06:35:17 +0000 (14:35 +0800)]
gdkprivate-win32.h: Complete removal of attributes_mask

We removed this parameter from the function declaration, but not the
prototype.  Fix that.

9 years agogdk: gdk_window_new() is not called for foreign windows
Benjamin Otte [Mon, 7 Nov 2016 02:15:00 +0000 (03:15 +0100)]
gdk: gdk_window_new() is not called for foreign windows

So we can remove the special cases that were used for them.

9 years agogdk: Remove attributes_mask from gdk_window_new()
Benjamin Otte [Mon, 7 Nov 2016 00:33:43 +0000 (01:33 +0100)]
gdk: Remove attributes_mask from gdk_window_new()

The only remaining values were always treated as 0, so we just hardcode
them to 0.

9 years agoAPI: gdk: Remove gdk_window_new()
Benjamin Otte [Mon, 7 Nov 2016 00:12:47 +0000 (01:12 +0100)]
API: gdk: Remove gdk_window_new()

It's finally no longer public API.

9 years agoAPI: gdk: Add gdk_window_new_temp()
Benjamin Otte [Mon, 7 Nov 2016 00:03:17 +0000 (01:03 +0100)]
API: gdk: Add gdk_window_new_temp()

Your one stop shop for all those nasty hidden input-only windows.

9 years agoAPI: gdk: Add gdk_window_new_popup()
Benjamin Otte [Sun, 6 Nov 2016 22:47:56 +0000 (23:47 +0100)]
API: gdk: Add gdk_window_new_popup()

... and use it.

9 years agorange: Use gdk_window_new_input()
Benjamin Otte [Sun, 6 Nov 2016 22:46:44 +0000 (23:46 +0100)]
range: Use gdk_window_new_input()

9 years agotests: Remove subsurface test
Benjamin Otte [Sun, 6 Nov 2016 21:03:45 +0000 (22:03 +0100)]
tests: Remove subsurface test

It did lots of ubsupported things (like creating subsurfaces on every
platform).

9 years agoAPI: wayland: Add gdk_wayland_window_new_subsurface()
Benjamin Otte [Sun, 6 Nov 2016 20:36:43 +0000 (21:36 +0100)]
API: wayland: Add gdk_wayland_window_new_subsurface()

... and use it instead of gdk_window_new().

9 years agoAPI: gdk: Add gdk_window_new_toplevel()
Benjamin Otte [Sun, 6 Nov 2016 16:40:59 +0000 (17:40 +0100)]
API: gdk: Add gdk_window_new_toplevel()

... and use it in GTK.

9 years agogdkwindow: Remove GdkWindowAttr.type_hint
Benjamin Otte [Sun, 6 Nov 2016 15:22:21 +0000 (16:22 +0100)]
gdkwindow: Remove GdkWindowAttr.type_hint

Instead, let the callers call gdk_window_set_type_hint(). Which is
surprsingly what every backend did.

9 years agoscrolledwindow: Turn into no-window widget
Benjamin Otte [Sun, 6 Nov 2016 14:50:26 +0000 (15:50 +0100)]
scrolledwindow: Turn into no-window widget

9 years agox11: Set override_redirect on input-only windows
Benjamin Otte [Sun, 6 Nov 2016 14:43:06 +0000 (15:43 +0100)]
x11: Set override_redirect on input-only windows

b9955cfff1a2290c7826565049c934d237e9028f broke this.

9 years agolistbox: Turn into no-window widget
Benjamin Otte [Sun, 6 Nov 2016 13:52:56 +0000 (14:52 +0100)]
listbox: Turn into no-window widget

9 years agoflowbox: Turn into no-window widget
Benjamin Otte [Sun, 6 Nov 2016 13:41:07 +0000 (14:41 +0100)]
flowbox: Turn into no-window widget

9 years agoUpdate gdk-quartz functions for the demise of GdkDeviceManager.
John Ralls [Sat, 5 Nov 2016 22:03:54 +0000 (15:03 -0700)]
Update gdk-quartz functions for the demise of GdkDeviceManager.

9 years agoRemove screen height and width functions from gdk-quartz.
John Ralls [Sat, 5 Nov 2016 22:03:00 +0000 (15:03 -0700)]
Remove screen height and width functions from gdk-quartz.

Since they were previously deleted from gdk.

9 years agoAdd some new function prototypes to gtkquartz.h.
John Ralls [Sat, 5 Nov 2016 22:01:28 +0000 (15:01 -0700)]
Add some new function prototypes to gtkquartz.h.

Fixes compile errors (-Werror,-Wmissing-prototypes).

9 years agoUpdate GdkOSXVersion enum with the last 4 MacOS releases.
John Ralls [Sat, 5 Nov 2016 21:59:56 +0000 (14:59 -0700)]
Update GdkOSXVersion enum with the last 4 MacOS releases.

9 years agoFramework Carbon required for building against MacOSX10.12.sdk.
John Ralls [Sat, 5 Nov 2016 21:58:34 +0000 (14:58 -0700)]
Framework Carbon required for building against MacOSX10.12.sdk.

Should be harmless elsewhere.

9 years agoAdwaita: no more -gtk-gradient()
Lapo Calamandrei [Sat, 5 Nov 2016 15:16:37 +0000 (16:16 +0100)]
Adwaita: no more -gtk-gradient()

the only place where it was used was the `needs attention` dot
which is now drawn using radial-gradient().

9 years agomenu: Properly clip child menuitems
Timm Bäder [Sat, 5 Nov 2016 12:37:26 +0000 (13:37 +0100)]
menu: Properly clip child menuitems

Now that GtkMenu isn't a windowed widget anymore, we have to
differentiate between the (0, 0) of the cairo_t and the position of
priv0->view_window.

9 years agotests/popupat: Remove references to noexistent widgets
Timm Bäder [Sat, 5 Nov 2016 12:21:03 +0000 (13:21 +0100)]
tests/popupat: Remove references to noexistent widgets

9 years agoentry: Fix coordinates after rendernode conversion
Timm Bäder [Sat, 5 Nov 2016 09:34:34 +0000 (10:34 +0100)]
entry: Fix coordinates after rendernode conversion

Ease the transition by removing the text_area and frame vfuncs which are
unused inside GTK+.

9 years agospinbutton: Convert to indirect rendering
Timm Bäder [Sat, 5 Nov 2016 08:51:14 +0000 (09:51 +0100)]
spinbutton: Convert to indirect rendering

9 years agoRevert "Revert "Convert GtkEntry to indirect rendering""
Timm Bäder [Sat, 5 Nov 2016 09:42:39 +0000 (10:42 +0100)]
Revert "Revert "Convert GtkEntry to indirect rendering""

This reverts commit f4fa111e3240822df1b1c02abc49fea9c274232c.

9 years agobutton: Remove _get_event_window
Timm Bäder [Sat, 5 Nov 2016 07:39:10 +0000 (08:39 +0100)]
button: Remove _get_event_window

9 years agoRemove gtk_widget_set_mapped
Timm Bäder [Fri, 4 Nov 2016 09:04:44 +0000 (10:04 +0100)]
Remove gtk_widget_set_mapped

Let all the remaining callers chain up.

9 years agonotebook: use gesture for clicks
Timm Bäder [Thu, 3 Nov 2016 20:02:53 +0000 (21:02 +0100)]
notebook: use gesture for clicks

Instead of GtkWidget's buton-press-event/button-release-event

9 years agoUpdate Hungarian translation
Gábor Kelemen [Sat, 5 Nov 2016 09:30:58 +0000 (09:30 +0000)]
Update Hungarian translation

9 years agoUpdate POTFILES.skip
Piotr Drąg [Sat, 5 Nov 2016 07:51:34 +0000 (08:51 +0100)]
Update POTFILES.skip

9 years agofixed: Port to GskRenderNode
Benjamin Otte [Sat, 5 Nov 2016 02:31:21 +0000 (03:31 +0100)]
fixed: Port to GskRenderNode

The fishbowl demo uses this.

9 years agogtk-demo: Add fishbowl demo
Benjamin Otte [Sat, 5 Nov 2016 02:31:10 +0000 (03:31 +0100)]
gtk-demo: Add fishbowl demo

9 years agowin32: Remove unused headers
Benjamin Otte [Fri, 4 Nov 2016 16:23:20 +0000 (17:23 +0100)]
win32: Remove unused headers

9 years agoAPI: gdk: Remove title from gdk_window_new()
Benjamin Otte [Fri, 4 Nov 2016 03:08:50 +0000 (04:08 +0100)]
API: gdk: Remove title from gdk_window_new()

Use gdk_window_set_title() afterwards instead.

9 years agoAPI: gdk: Remove override_redirect flag from GdkWindowAttr
Benjamin Otte [Fri, 4 Nov 2016 02:35:49 +0000 (03:35 +0100)]
API: gdk: Remove override_redirect flag from GdkWindowAttr

When you want an override-redirect window, you create it that way by
creating a GDK_WINDOW_TEMP window.

9 years agoAPI: gdk: Remove gdk_window_set_override_redirect()
Benjamin Otte [Fri, 4 Nov 2016 01:37:11 +0000 (02:37 +0100)]
API: gdk: Remove gdk_window_set_override_redirect()

When you want an override-redirect window, you create it that way.
Changing that behavior is not supported anywhere (but on X of course).

9 years agogtkstylecontext: Clarify memory allocation behaviour of getters
Philip Withnall [Fri, 4 Nov 2016 20:16:06 +0000 (20:16 +0000)]
gtkstylecontext: Clarify memory allocation behaviour of getters

It wasn’t clear that gtk_style_context_get[_valist]() behave like
g_object_get() — i.e. pointer-based types are returned newly-allocated.
Clarify that.

https://bugzilla.gnome.org/show_bug.cgi?id=773954

9 years agoRevert "Convert GtkEntry to indirect rendering"
Matthias Clasen [Fri, 4 Nov 2016 17:18:30 +0000 (13:18 -0400)]
Revert "Convert GtkEntry to indirect rendering"

This reverts commit 3656c9f94c0401376d3dc0a3963312ef986cb021.

Still causes to many unresolved drawing issues.

9 years agoFix up the fullscreen_on_monitor support
Matthias Clasen [Fri, 4 Nov 2016 16:41:51 +0000 (12:41 -0400)]
Fix up the fullscreen_on_monitor support

I didn't pay attention, and forgot to port this code to the
new monitor apis.

9 years agolevelbar: update css nodes even when no offset value is found
Georges Basile Stavracas Neto [Wed, 2 Nov 2016 02:46:10 +0000 (00:46 -0200)]
levelbar: update css nodes even when no offset value is found

GtkLevelBar supports adding custom offsets as style classes, and they
are applied whenever the :value property matches. The current code,
however, only updates any CSS nodes when an offset is found, causing
it to not update when a discrete value changes but no custom offset
is added.

Fix that by always updating the CSS nodes.

https://bugzilla.gnome.org/show_bug.cgi?id=773799

9 years agogdkwindow-x11: Add support for gdk_window_fullscreen_on_monitor
Rui Matos [Wed, 2 Nov 2016 18:00:34 +0000 (19:00 +0100)]
gdkwindow-x11: Add support for gdk_window_fullscreen_on_monitor

This way we can recommend that applications use the
fullscreen_on_monitor() API on both X and Wayland otherwise they'd
have to keep a path for each backend to achieve this functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=773857

9 years agoComplete the privatization of GtkTextAttributes
Matthias Clasen [Fri, 4 Nov 2016 16:05:52 +0000 (12:05 -0400)]
Complete the privatization of GtkTextAttributes

This was not quite complete, as gtktextattributes.h was still
being included in public headers.

https://bugzilla.gnome.org/show_bug.cgi?id=773903

9 years agoW32: Fix malformed svg file
Руслан Ижбулатов [Fri, 4 Nov 2016 13:18:43 +0000 (13:18 +0000)]
W32: Fix malformed svg file

https://bugzilla.gnome.org/show_bug.cgi?id=768081

9 years agoGDK-Win32/4.0: Enable HiDPI support for Windows
Chun-wei Fan [Mon, 27 Jun 2016 05:16:43 +0000 (13:16 +0800)]
GDK-Win32/4.0: Enable HiDPI support for Windows

This enables HiDPI support for GTK+ on Windows, so that the
fonts and window look better on HiDPI displays.  Notes for the current
work:

-The DPI awareness enabling can be disabled if and only if an application
 manifest is not embedded in the app to enable DPI awareness AND a user
 compatibility setting is not set to limit DPI awareness for the app, via
 the envvar GDK_WIN32_DISABLE_HIDPI.  The app manifest/user setting for
 DPI awareness will always win against the envvar, and so the HiDPI items
 will be always setup in such scenarios, unless DPI awareness is disabled.

-Both automatic detection for the scaling factor and setting the scale
 factor using the GDK_SCALE envvar are supported, where the envvar takes
 precedence, which will therefore disable automatic scaling when
 resolution changes.

-We now default to a per-system DPI awareness model, which means that we
 do not handle WM_DPICHANGED, unless one sets the
 GDK_WIN32_PER_MONITOR_HIDPI envvar, where notes for it are in the
 following point.

-Automatic scaling during WM_DISPLAYCHANGE is handled (DPI setting change of
 current monitor) is now supported.  WM_DPICHANGED is handled as well,
 except that the window positioning during the change of scaling still
 needs to be refined, a change in GDK itself may be required for this.

-I am unable to test the wintab items because I don't have such devices
 around.

https://bugzilla.gnome.org/show_bug.cgi?id=768081

9 years agogdkscreen-win32.c: Remove leftovers of removal of visual APIs
Chun-wei Fan [Fri, 4 Nov 2016 06:16:36 +0000 (14:16 +0800)]
gdkscreen-win32.c: Remove leftovers of removal of visual APIs

There were some more items that ought to be removed.  Remove them.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

9 years agoUpdate Hungarian translation
Balázs Meskó [Fri, 4 Nov 2016 06:18:55 +0000 (06:18 +0000)]
Update Hungarian translation

9 years agox11: Init no-multihead monitor without root window
Benjamin Otte [Thu, 3 Nov 2016 23:33:13 +0000 (00:33 +0100)]
x11: Init no-multihead monitor without root window

Previous code gave warnings because the root window wasn't initialized
yet.

9 years agowayland: Remove all mentions of visuals
Benjamin Otte [Thu, 3 Nov 2016 23:17:57 +0000 (00:17 +0100)]
wayland: Remove all mentions of visuals

9 years agomir: Remove all mentions of visuals
Benjamin Otte [Thu, 3 Nov 2016 23:15:52 +0000 (00:15 +0100)]
mir: Remove all mentions of visuals

9 years agobroadway: Remove all mentions of visuals
Benjamin Otte [Thu, 3 Nov 2016 23:15:07 +0000 (00:15 +0100)]
broadway: Remove all mentions of visuals

9 years agoquartz: Remove all mentions of visuals
Benjamin Otte [Thu, 3 Nov 2016 23:10:43 +0000 (00:10 +0100)]
quartz: Remove all mentions of visuals

9 years agowin32: Remove all mentions of visuals
Benjamin Otte [Thu, 3 Nov 2016 23:08:03 +0000 (00:08 +0100)]
win32: Remove all mentions of visuals

9 years agogdk: Remove visual APIs from GdkScreen
Benjamin Otte [Thu, 3 Nov 2016 23:02:37 +0000 (00:02 +0100)]
gdk: Remove visual APIs from GdkScreen

gdk_screen_list_visuals(), gdk_screen_get_system_visual() and
gdk_screen_get_rgba_visual() are gone now.

9 years agox11: Maointin window visuals without GdkVisual
Benjamin Otte [Thu, 3 Nov 2016 22:40:54 +0000 (23:40 +0100)]
x11: Maointin window visuals without GdkVisual

That way, we don't need a GdkScreen to create a GdkWindow anymore.

9 years agox11: Remove unused hash table
Benjamin Otte [Thu, 3 Nov 2016 21:47:42 +0000 (22:47 +0100)]
x11: Remove unused hash table

We were neatly populating it, but nobody ever looked at it.

9 years agox11: Replace gdk_display_get_window_visual()
Benjamin Otte [Thu, 3 Nov 2016 21:40:36 +0000 (22:40 +0100)]
x11: Replace gdk_display_get_window_visual()

... with functions that don't use GdkVisual.

A small step towards getting rid of GdkVisual.

9 years agomenubar: We don't need an input window
Benjamin Otte [Thu, 3 Nov 2016 20:29:07 +0000 (21:29 +0100)]
menubar: We don't need an input window

Input is handled by the menuitems completely.

9 years agox11: Use X11 variables instead of GDK variables
Benjamin Otte [Thu, 3 Nov 2016 04:46:46 +0000 (05:46 +0100)]
x11: Use X11 variables instead of GDK variables

This way, we avoid GdkVisual usage.

9 years agox11: Remove unused complexity
Benjamin Otte [Thu, 3 Nov 2016 04:38:07 +0000 (05:38 +0100)]
x11: Remove unused complexity

With all Windows having the same visual, there's only ever one visual we
need to check.

9 years agodocs: Remove vfunc that doesn't exist anymore
Benjamin Otte [Thu, 3 Nov 2016 04:32:37 +0000 (05:32 +0100)]
docs: Remove vfunc that doesn't exist anymore

9 years agoAdwaita: correctly style headerbars in a stack
Lapo Calamandrei [Thu, 3 Nov 2016 17:52:54 +0000 (18:52 +0100)]
Adwaita: correctly style headerbars in a stack

corners are correctly rounded now. Stacked splitted headerbars are
not supported yet though.

9 years agopopover: pop down when pressing escape
Ernestas Kulik [Thu, 3 Nov 2016 10:58:41 +0000 (12:58 +0200)]
popover: pop down when pressing escape

Simply hiding the popover may introduce inconsistencies in application
behavior, since popping up/down is the usual use case.

https://bugzilla.gnome.org/show_bug.cgi?id=773885

9 years agoAdd a testcase for stacked headerbars
Matthias Clasen [Thu, 3 Nov 2016 12:32:31 +0000 (08:32 -0400)]
Add a testcase for stacked headerbars

This currently has some theming issues.
This example is for Lapo to work those out.

9 years agoconfigure.ac: Remove gdk/win32/rc/gdk.rc
Chun-wei Fan [Thu, 3 Nov 2016 10:07:43 +0000 (18:07 +0800)]
configure.ac: Remove gdk/win32/rc/gdk.rc

This needs to be removed, which was forgotten.  Sorry.

9 years agoautotools: Update MSVC gir build script generation
Chun-wei Fan [Thu, 3 Nov 2016 10:00:03 +0000 (18:00 +0800)]
autotools: Update MSVC gir build script generation

Now that GTK+ is built as a single DLL, and the .lib that is built is
gtk-4.lib, we need to update the autotools sections in generating the
NMake Makefile snippets so that we can have the correct commands and flags
for building the .gir files, which will all now link to gtk-4-vsXX.dll (or
so).

9 years agoVisual Studio builds: Use gtk-4.lib for the .lib file
Chun-wei Fan [Thu, 3 Nov 2016 09:46:32 +0000 (17:46 +0800)]
Visual Studio builds: Use gtk-4.lib for the .lib file

As with the autotools builds, use gtk-4 as the name of the .lib file that
is produced from the build.

Actually this is already done with GTK-3.x with the autotools builds,
but this update is not done there as gtk-3.0.lib/gdk-3.0.lib/gailutil-3.0.lib
was used for such a long time that changing it there might have caused
trouble for people there.

9 years agoVisual Studio builds: Build GTK+ as a monolithic DLL
Chun-wei Fan [Thu, 3 Nov 2016 09:17:57 +0000 (17:17 +0800)]
Visual Studio builds: Build GTK+ as a monolithic DLL

Update the project configs to build GDK/GSK as a static lib and include
them into the GTK+ DLL as a monolithic DLL, which is in line with what is
done in the autotools builds, since the code changes needed for Windows
builds for a monolithic build are now in place.

9 years agoWindows: Update code for monolithic GTK DLL
Chun-wei Fan [Thu, 3 Nov 2016 08:03:08 +0000 (16:03 +0800)]
Windows: Update code for monolithic GTK DLL

Now that the autotools build folded the GDK/GSK bits into the main GTK+
DLL, there are some updates that need to be done for this.  We need to:

-Fold the DllMain() of GDK-Win32 into the main GTK+ DllMain(), as we need
 the HINSTANCE to register the window.  We can't have two DllMain()'s in a
 single DLL.
-Remove the GDK rc(.in) files, as that is not used anymore.  Make the GTK+
 .rc(.in) file load the gtk.ico GTK+ logo file instead so that we still
 get the GTK+ logo for the application icon by default.  Update the
 autotools build files as well.
-Revert commit b9f9980 as LRN pointed out in comment 25 in bug 773299, as
 GTK+ is now a monolithic DLL, and we ought not to export this private
 function.

https://bugzilla.gnome.org/show_bug.cgi?id=773299

9 years agowayland: check valid pending cairo surface
Olivier Fourdan [Wed, 2 Nov 2016 10:51:54 +0000 (11:51 +0100)]
wayland: check valid pending cairo surface

gdk_wayland_window_attach_image() is normally called from
gdk_window_end_paint() to notify the compositor of newly staged drawing.

If any of the drawing code inadvertently dispatches the wayland event
loop (for instance with a gdk_flush() call), then it's possible that by
the time gdk_window_end_paint() is called, the staged drawing is already
destroyed.

This commit bypasses the attach_image call in scenarios where the staged
drawing is prematurely dropped.

https://bugzilla.gnome.org/show_bug.cgi?id=773274

9 years agorevealer: Port to no-window widget
Benjamin Otte [Thu, 3 Nov 2016 01:37:52 +0000 (02:37 +0100)]
revealer: Port to no-window widget

9 years agotextview: Convert to no-window widget
Benjamin Otte [Thu, 3 Nov 2016 01:29:38 +0000 (02:29 +0100)]
textview: Convert to no-window widget

9 years agoiconview: Turn into no-window widget
Benjamin Otte [Thu, 3 Nov 2016 01:18:45 +0000 (02:18 +0100)]
iconview: Turn into no-window widget

9 years agocolorplane: Port to be a no-window widget
Benjamin Otte [Wed, 2 Nov 2016 23:11:39 +0000 (00:11 +0100)]
colorplane: Port to be a no-window widget

9 years agocolorswatch: Readd accidentally removed call
Benjamin Otte [Wed, 2 Nov 2016 23:38:48 +0000 (00:38 +0100)]
colorswatch: Readd accidentally removed call

9 years agoviewport: Turn into no-window widget
Benjamin Otte [Wed, 2 Nov 2016 20:56:51 +0000 (21:56 +0100)]
viewport: Turn into no-window widget

While doing so, get rid of the GdkWindow instead of keeping it.

9 years agomenu: Don't set widget->window
Benjamin Otte [Wed, 2 Nov 2016 16:50:12 +0000 (17:50 +0100)]
menu: Don't set widget->window

Instead, create an input window for the menubar and omit the window for
the menu itself.

9 years agowidget: Remove outdated comment
Timm Bäder [Tue, 1 Nov 2016 19:51:03 +0000 (20:51 +0100)]
widget: Remove outdated comment

gtk_widget_override_color is no more.

9 years agowidget: Remove unused visibility-notify-event
Timm Bäder [Tue, 1 Nov 2016 19:29:00 +0000 (20:29 +0100)]
widget: Remove unused visibility-notify-event